Parallel trigger model for test and measurement instruments

ABSTRACT

A test and measurement instrument for performing multiple operations, including a port to receive a signal from a device under test; and a processor. The processor configured to, based on a parallel trigger model, execute a first process associated with first functionality of the test and measurement instrument, and execute a second process on the signal from the device under test, the second process associated with second functionality of the test and measurement instrument. The second process commencing prior to completion of the first process.

PRIORITY

This disclosure claims benefit of U.S. Provisional Application No.62/469,445, titled “PARALLEL TRIGGER MODEL,” filed on Mar. 9, 2017,which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

This disclosure is related to the area of test and measurement, and inparticular, to parallel triggering in test and measurement.

BACKGROUND

Some test and measurement instruments include multiple functionalcomponents. For example, dataloggers are used to switch between channelsand collect measurements of a characteristic of a signal on eachchannel. That is, dataloggers include both switching functionalcomponents as well as a measurement functional components. In adatalogger, a scan is configured to walk through a series of channels ona device under test (DUT) and take a measurement on each channel. Thisscan is normally repeated numerous times and can run for hours, days, oreven months. Source and measurement units include both a sourcecomponent and a measurement component. Different sources may besupplied, such as a voltage source or a current source, and themeasurement component is able to measure characteristics of a signal(e.g., voltage, current, frequency amplitude, etc.).

In test and measurement instruments that have multiple functionalcomponents, a user is able to set up and run a trigger process toinstruct the test and measurement instrument when to perform eachfunctional component. In current test and measurement instruments, thisprocess is performed sequentially. That is, neither of the functionalcomponents can be triggered in parallel, but rather must be triggeredsequentially. For example, in a datalogger, switching between channelsis performed prior to a measurement being configured and performed. Thisresults in a loss of performance of the test and measurement instrumentas the trigger process takes longer to perform since each function mustrun sequentially.

Examples in the disclosure address these and other issues.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects, features and advantages of embodiments of the presentdisclosure will become apparent from the following description inreference to the appended drawings in which:

FIG. 1 is a schematic diagram of an example test and measurement systemaccording to various embodiments of the disclosure.

FIG. 2 according to various embodiments of the disclosure.

FIG. 3 is a flowchart of an example parallel trigger model according tovarious embodiments of the disclosure.

FIG. 4 is a flowchart of another example parallel trigger modelaccording to various embodiments of the disclosure.

DESCRIPTION

Disclosed herein is a test and measurement instrument configured toperform multiple functions simultaneously. The test and measurementinstrument includes an input to receive a parallel trigger model thatcoordinates operations of the multiple functions to enable the multiplefunctions to be performed simultaneously. One or more processors thathave control over components associated with the operations of themultiple functions then execute the parallel trigger model, which allowsthe test and measurement instrument to perform the multiple functions,or aspects thereof, in concert. The multiple functions may be performedwith complete independence from each other or may be performed withvarious operations of the multiple functions dependent on each other. Byenabling operations of the multiple functions to be performedconcurrently, functionality of the test and measurement instrument thatwould have previously lied dormant waiting for other functionality tofinish is able to be utilized in parallel. This increases efficiency ofthe test and measurement instrument and reduces the amount of time tocomplete testing

FIG. 1 is a schematic diagram of an example test and measurement system100 that performs more than one function. Some examples of such test andmeasurement systems include a datalogger, a data acquisition unit, or asource measure unit (SMU). That is, the test and measurement system mayinclude multiple components of function (e.g., Functions 1-N, discussedin greater detail below). System 100 includes ports 102, also referredto herein as channels, which may be any electrical, optical, and/orwireless ports configured to receive a signal for scanning and/or forcommunicating alerts to a user over a network. Ports 102 may includereceivers, transmitters, and/or transceivers. Ports 102 are coupled toone or more processor(s) 106, which may be implemented as a processor,an application specific integrated circuit (ASIC), a digital signalprocessor (DSP), a field programmable gate array (FPGA), virtualprocessor, etc., or any combination thereof. Processor(s) 106 areconfigured to execute instructions from memory 110 and may perform anymethods and/or associated steps indicated by the instructions. Processor106 may include a parallel trigger module 108, which may be configuredto provide a development environment that enables a user todevelop/assemble a parallel trigger model. In addition, oralternatively, parallel trigger module 108 can include and an executionenvironment that enables operations defined in a parallel trigger modelto be carried out, or executed. Such a parallel trigger model can definea process for performing various operations associated with each ofFunctions 1-N, or a subset of those functions, in parallel. An exampleof such a parallel trigger model is depicted in FIGS. 3 and 4, discussedin more detail below. In some embodiments, the parallel trigger module108 may be implemented via instructions that are in whole or in partcontained within memory 110. Memory 110 may be implemented as processorcache, random access memory (RAM), read only memory (ROM), solid statememory, hard disk drive(s), any other computer-readable storage media,or any combination thereof. Memory 110 acts as a medium for storingdata, computer program products, and other instructions, and providingsuch data/products/instructions to the processor 106 for execution,computation, or other processing as needed.

The multiple functions are depicted by Functions 1-N. Each of thesefunctions would include various components (not depicted) that combineto perform the functionality associated with the respective function.These components may be embodied in hardware, software, or anycombination thereof. While the functions are depicted as being disjoint,this is merely for clarity of depiction and it will be appreciated thatvarious ones of the functions may share components for performing thefunctionality associated with the function. Examples of such functionsare source functionality and measurement functionality of an SMU,switching functionality and measurement functionality of a data logger,etc.

User controls 104 are communicatively coupled to the processor 106. Usercontrols 104 may include a keyboard, mouse, trackball, touchscreen,and/or any other controls employable by a user to interact withprocessor 106 and/or alarm limit module 108 (e.g., via a graphical userinterface on a display 112). Display 112 may be a digital display (e.g.,LCD, LED, etc.), a cathode ray tube based display, or any other monitorto display output of system 100) to an end user. It will be appreciatedthat, while display 112 is depicted as being integrated with the testand measurement system, the display could be a separate display coupledwith the test and measurement instrument via any sort of wired and/orwireless connection.

FIG. 2 illustrates an example of a conventional flow chart of asequential scan trigger process for performing multiple operations on atest and measurement instrument, each operation dependent on the other.Conventional trigger models allow a user to set up a trigger withmultiple functions in a sequential manner only. For example, the processdepicted in the flow chart of FIG. 2 may be used in a datalogger toperform a scan of a device under test by walking through each channeland performing a measurement. For these triggers, a first operation isconfigured and performed. Once the first operation is complete, a secondoperation is configured and then performed. This is repeated until nofurther scans are required.

The process 200 begins at start 202. Using a datalogger as an example,at start 202, all the switches in the datalogger are open. In someembodiments, a notification 204 may be output at this point and a userinterface notification may be generated to alert a user all the switchesare open and the process 200 is ready to start. An input 206 is providedto a wait block 208. The input 206 may be a timer or any other type ofinput that would signal the start of the scan. For example, the input206 may be an input from a user received at the user controls 104.

When the input 206 is received to signal the next operation, initialoperation A is configured 210, which is the beginning of the list ofvarious configurations of operation A, as discussed in more detailbelow. The number of operations performed for A and B is dependent onthe type of operations to be performed. Once configured, operation A isperformed 212 and an optional notification may be generated 214.Operation B is then configured 216. In the example of the datalogger,the measurement for measuring the channel switched by operation A isconfigured. The process waits 218 until another input 220 is received.Again, the input 220 may be a timer or any other signal to indicateoperation B should be performed. Operation B is then performed 222. Anoptional notification may be generated 224. After Operation B isperformed 222, the process 200 determines 226 if there are additionaloperations to be performed. If yes, the next operation A is configured228. For example, the switches are configured to the next configurationto perform a measurement of the next channel in the scan. The systemwaits 230 until another input 232 is received, and operation A isperformed in the next configuration.

The process loops through performing and configuring operations A and Buntil the scan is complete. For example, with a datalogger, theoperations are performed until all the channels have been measured. Onceall the operations are performed, then a notification may be generated234 and the process 200 determines 236 if more scans are to beperformed. If no, then the scan ends 234. If yes, the system loops backto configuring 210 the initial operation A, and begins looping throughthe process again until the scan is complete.

Because operation A is configured and performed before operation B isconfigured and performed in the sequential trigger process, theperformance of the test and measurement instrument is slower. However,embodiments of the disclosure include a test and measurement system thatallows a user to configure a parallel trigger process and performmultiple functions in parallel. The parallel trigger process that allowsoperations A and B to be configured and performed in parallel increasesthe system performance. In some embodiments, the operations may beperformed independently. That is, both operations A and B may run inparallel independent of the other operations. In some embodiments,complete independence between operations A and B is not required andnotify and wait functions may be used to synchronize the parallel paths.For example, one path can wait on a notification from the other pathbefore moving forward, or vice versa.

FIG. 3 illustrates an example parallel trigger model 300 thatcoordinates the performance of multiple functions in parallel. The model300 may include multiple scans, each scan including multiple operationconfigurations. As discussed in more detail below, at the end of eachscan, the operations can be reset to their initial configurations andprocessed through again until all desired scans have been performed.

Model 300 of FIG. 3 may be configured by a user, e.g., via a developmentenvironment, based on the desired testing of a device under test. Theparallel processes can be created, in some embodiments, in much the sameway as a flowchart. As depicted, model 300 is developed from fivefundamental building block types. The building blocks include a startblock, a wait block, a branch block, an action block, and a notifyblock. The Start bock serves as a starting point for running a parallelprocess portion of the trigger model. As depicted, one path, or process,starts from the top (e.g., at Begin 302), which may be initiated byselecting model 300 for execution, and the start block begins one ormore parallel paths, or processes, (e.g., Start 312). The wait blockwaits for an event to occur before the flow continues. A branch boxbranches when a condition has been satisfied. An Action block initiatesan action in the instrument, such as a measurement, source, delay, setdigital input/output, etc. Finally, the notify block notifies otherequipment, processes, or components that an event has occurred. Theparallel trigger model may be created, via the development environmentmentioned above in reference to FIG. 1, using the user controls 104, ormay be created by remote commands. Other blocks and trigger functionsmay also be provided, such as immediate, timer, and manual triggering.In the development environment, the user can select blocks and build adesired parallel trigger model, which can then be interpreted by, forexample, an execution environment of parallel trigger module 108 ofFIG. 1. Model 300, in FIG. 3, is an example process that may be built bya user. In FIG. 3, complete independence between operations A and B isnot desired, so notify and wait blocks have been used to synchronizedependencies between the parallel processes.

In some embodiments the development environment, or an executionenvironment, may visually delineate blocks for a first path, or process,corresponding to operations of a first function, from blocks for asecond path, or process, corresponding to operations of a secondfunction. This could be accomplished, for example, by utilizing onecolor for blocks of the first path and a second color for blocks of thesecond path when displayed to a user (e.g., via display 112). Thedevelopment environment enables the user to add blocks, rearrangeblocks, and connect blocks to run the parallel process desired for thedevice under test.

In some embodiments, the parallel trigger module 108 may, via theexecution environment, run the desired process and, if the process isunable to run for any reason, the parallel trigger module 108 cangenerate an alert to display on the display 112 of the errors in theparallel process. In some embodiments, blocks in the flowchart displayedon the display 112 may be visually delineated (e.g., via color) if anerror is present (e.g., lack of a necessary dependency). Because triggermodel resources can be shared between multiple paths, the paralleltrigger model can be subject to the same process constraints as asequential trigger model. That is, if two operations in the test andmeasurement instrument are incapable of operating in parallel becausethey utilize the same resources, then an independent parallel triggermodel will not work for those operations. In such a scenario, the twooperations are referred to herein as overlapping operations. Theexecution environment, or development environment, can identify theseerrors for the user to enable the user to adjust the parallel triggermodel to rectify such an issue. Although FIG. 3 illustrates two parallelprocess paths, more than two parallel process paths may be set up by auser. That is, as long as the test and measurement instrument isconfigured to perform the desired functions, and the functions arecapable of being performed simultaneously, the user may set up anynumber of parallel paths, as desired.

Further, if an action block is found in more than one path, the blockscan be highlighted as an error, as each function should have its ownpath in the parallel trigger model. That is, each path should bededicated to a respective function, although each path may besynchronized with at least one other path using wait and notify blocks,if desired or necessary.

As mentioned above, FIG. 3 illustrates an example parallel trigger model300 configured by a user. At begin 302, the test and measurement systemis set at an initial setup and begins waiting 304 for an input 306. Thetest and measurement system may output a notification 308 to alert auser that execution of the parallel trigger model 300 has begun.

When the input 306 is received at the wait function 304, the test andmeasurement system configures 310 initial operation A and sends amessage to start block 312 to then configure 314 initial operation B, inparallel. Operation A may be associated with a first function of a testand measurement instrument while operation B may be associated with asecond function of the test and measurement instrument. Start block 312is provided so that operation B may be started prior to actualperformance of operation A, if desired. That is, both operation A andoperation B paths may be started simultaneously or independently,depending on the desired parallel trigger model. When initial operationA is configured 312, then operation A is performed 316. After initialoperation B is configured 312, the process proceeds to wait 318 until anotification 320 is received that operation A is performed 316.Notification 320 may be just to wait 318 or may also include anotification on a user interface as well.

When notification 320 is received at wait 318, operation B is performed322. While operation B is performed 322, the process determines 324 ifany additional operation A configurations remain. For example, a countermay be incremented or decremented to count the number of operationsperformed until a specified number of operations is reached. Ifadditional operations remain, then the next operation A is configured326 and the process then proceeds to wait 328. After operation B isperformed 322, a notification is generated and sent 330 to wait 328. Thenotification may also include a notification on the user interface insome embodiments to alert a user that operation B has been performed.

When the wait 328 receives the notification 330 and an input 332, suchas a timer or any other type of input, then the process returns toperform 316 operation A. After the notification is generated 330, theprocess determines 334 if any additional configurations remain foroperation B. If so, then the next operation B is configured 336 and theprocess returns to wait 318 to receive a notification 320 that operationA is performed 316.

If there are no additional operation A configurations as determined in324, then the process determines 338 if additional scans should beperformed. If there are additional scans to be performed, the processreturns to the initial configuration 312 of operation A to then processthrough each iteration of configurations for operation A on the nextscan. If there are no more scans to be performed then a notification maybe generated 340 that indicates the first path of the parallel triggermodel has completed processing and the process ends 342.

Further, if there are no additional operation B configurations asdetermined in 334, then the process determines 344 if additional scansshould be performed. If there are additional scans to be performed, theprocess returns to the initial configuration 314 of operation B to thenprocess through each iteration of configurations for operation B. Ifthere are no more scans to be performed then a notification may begenerated 346 that indicates the second path of the parallel triggermodel has completed processing and the process ends 348.

The example process 300 of FIG. 3 may be used in any test andmeasurement instrument that is performing operations associated withmultiple functions of the test and measurement instrument. For example,the test and measurement instrument may be a datalogger, which includesa switching function, to switch between the different channels of adevice under test, and a measurement function, to measure each channel.For ease, the operations associated with these two functions have beendesignated as operation A and operation B in FIG. 3. In a datalogger,switching between channels may be operation A and measuring may beoperation B. As another example, the test and measurement instrument maybe a source measure unit, which switches between various sources andthen performs a measurement for each source. In such a device, switchingsources may be operation A and measuring may be operation B. In someembodiments, both operation A and operation B may be measurementcomponents, if the measurement components are able to operateindependently of each other. The process 300 allows multiple functionsto run in parallel to increase the test and measurement performance andmay yield substantial throughput improvement. However, as mentionedabove, the process 300 is not the only process that may be run by thetest and measurement instrument. Using the user controls 104, a user maycreate a parallel trigger model as desired.

FIG. 4 illustrates an example parallel trigger model 400 for adatalogger. In this example, a user desires to scan channel 101 forvoltage, channel 102 for resistance, and channel 103 for current for 5scans. As such, in this example, the switching count is 3 and the scancount is 5. However, as readily understood by one of ordinary skill inthe art, hundreds of channels may be scanned. The scan period may be aset number of scans or may also, or alternatively, be based on a timeperiod. That is, the scan count may also be a timer. FIG. 4 illustratesthe example parallel process 400 as input by the user and the functionsof the test and measurement instrument are described below based on thereceived parallel process 400.

Turning to the process 400 in FIG. 4, initially, all the switches in thedatalogger are open 402. The process waits 404 until an input 406 isreceived to begin the scan of the channels. For ease of discussion, alloptional notifications and inputs have been removed from the process ofFIG. 4. However, as shown in FIG. 3, multiple notifications may begenerated throughout the process to notify a user of the status of theprocess and inputs may be received at the wait blocks prior to moving onto the next portion of the process.

When the input 406 is received, the parallel process is initiated withstart block 407. Start block 407 kicks off the initial configuration 408of the switch in parallel with the initial configuration of themeasurement 410. The circuits are switched 412 to allow a voltagemeasurement of channel 101. After the initial measurement is configured410, which is a voltage measurement configuration in this example, theprocess waits 414 until a notification 416 is generated to perform 418the voltage measurement of a signal channel 101. The notification 416may be generated after a settle time has elapsed. During the measurement418, the process determines 420 whether there are additional circuitswitches to switch to additional channels. If yes, the next switch isconfigured 422, in this example to switch to channel 102, and theprocess waits 424 until a notification 426 is generated alerting thatthe measurement has been performed. Then, circuits are switched 412 tochannel 102.

After the notification 426 is generated, the process determines 428 ifany additional measurements are to be made. If yes, the next measurementis configured 430, in this example, a resistance measurement, and theprocess waits 414 for notification 416 that channel 102 has beenswitched to measure the resistance of a signal on channel 102.

The process is repeated until all channels have been switched throughand measured. That is, the circuits will be switched to channel 102 anda resistance measurement is taken, then the circuits will be switched tochannel 103 and a current measurement is taken. The process determines432 and 434 if additional scans are to be performed. If yes, then theinitial switch is configured 408 and the initial measurement isconfigured 410, and each of the channels is measured again. If no, theprocess ends 436 and 438.

The process 400 allows for measurements, such as a voltage, resistanceor current measurement, to be configured while a channel settles afterbeing switched. That is, using the above example, during the settle timeof channel 102, the digital multimeter is configured for the upcomingresistance measurement. During the settle time of channel 103, thedigital multimeter is configured for the upcoming current measurement.The performance savings may be as great as the settle time of the relay.For example, a typical relay takes 5 ms per channel to close. If therequired digital multimeter setup is less than 5 ms, then theconfiguration times may be halved, as measured in channels per second,since the digital multimeter setup can occur while the channel settles,rather than waiting until the channel to be settled to set up thedigital multimeter, as done in conventional test and measurementinstruments, and as shown in FIG. 2. Even if such is not the case, theparallel processes of FIGS. 3 and 4 are faster than a sequential processof FIG. 2 since overhead can be overlapped.

Although the example processes of FIGS. 3 and 4 have two paths dependenton each other using wait and notify blocks, a user may also createindependent paths that run completely independently, but in parallel, asmentioned above. For example, some test and measurement instruments mayhave two functional measurement components, and each may be runseparately in parallel, independently of the other.

Aspects of the disclosure may operate on particularly created hardware,firmware, digital signal processors, or on a specially programmedcomputer including a processor operating according to programmedinstructions. The terms controller or processor as used herein areintended to include microprocessors, microcomputers, ApplicationSpecific Integrated Circuits (ASICs), and dedicated hardwarecontrollers. One or more aspects of the disclosure may be embodied incomputer-usable data and computer-executable instructions, such as inone or more program modules, executed by one or more computers(including monitoring modules), or other devices. Generally, programmodules include routines, programs, objects, components, datastructures, etc. that perform particular tasks or implement particularabstract data types when executed by a processor in a computer or otherdevice. The computer executable instructions may be stored on a computerreadable storage medium such as a hard disk, optical disk, removablestorage media, solid state memory, Random Access Memory (RAM), etc. Aswill be appreciated by one of skill in the art, the functionality of theprogram modules may be combined or distributed as desired in variousaspects. In addition, the functionality may be embodied in whole or inpart in firmware or hardware equivalents such as integrated circuits,FPGA, and the like. Particular data structures may be used to moreeffectively implement one or more aspects of the disclosure, and suchdata structures are contemplated within the scope of computer executableinstructions and computer-usable data described herein.

The disclosed aspects may be implemented, in some cases, in hardware,firmware, software, or any combination thereof. The disclosed aspectsmay also be implemented as instructions carried by or stored on one ormore or computer-readable storage media, which may be read and executedby one or more processors. Such instructions may be referred to as acomputer program product. Computer-readable media, as discussed herein,means any media that can be accessed by a computing device. By way ofexample, and not limitation, computer-readable media may comprisecomputer storage media and communication media.

Computer storage media means any medium that can be used to storecomputer-readable information. By way of example, and not limitation,computer storage media may include RAM, ROM, Electrically ErasableProgrammable Read-Only Memory (EEPROM), flash memory or other memorytechnology, Compact Disc Read Only Memory (CD-ROM), Digital Video Disc(DVD), or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, and any othervolatile or nonvolatile, removable or non-removable media implemented inany technology. Computer storage media excludes signals per se andtransitory forms of signal transmission.

Communication media means any media that can be used for thecommunication of computer-readable information. By way of example, andnot limitation, communication media may include coaxial cables,fiber-optic cables, air, or any other media suitable for thecommunication of electrical, optical, Radio Frequency (RF), infrared,acoustic or other types of signals.

Examples of the disclosure may operate on a particularly createdhardware, on firmware, digital signal processors, or on a speciallyprogrammed computer including a processor operating according toprogrammed instructions. The terms “controller” or “processor” as usedherein are intended to include microprocessors, microcomputers, ASICs,and dedicated hardware controllers. One or more aspects of thedisclosure may be embodied in computer-usable data andcomputer-executable instructions, such as in one or more programmodules, executed by one or more computers (including monitoringmodules), or other devices. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types whenexecuted by a processor in a computer or other device. The computerexecutable instructions may be stored on a computer readable storagemedium such as a hard disk, optical disk, removable storage media, solidstate memory, RAM, etc. As will be appreciated by one skilled in theart, the functionality of the program modules may be combined ordistributed as desired in various examples. In addition, thefunctionality may be embodied in whole or in part in firmware orhardware equivalents such as integrated circuits, field programmablegate arrays (FPGA), and the like. Particular data structures may be usedto more effectively implement one or more aspects of the disclosure, andsuch data structures are contemplated within the scope of computerexecutable instructions and computer-usable data described herein.

Aspects of the present disclosure operate with various modifications andin alternative forms. Specific aspects have been shown by way of examplein the drawings and are described in detail herein below. However, itshould be noted that the examples disclosed herein are presented for thepurposes of clarity of discussion and are not intended to limit thescope of the general concepts disclosed to the specific examplesdescribed herein unless expressly limited. As such, the presentdisclosure is intended to cover all modifications, equivalents, andalternatives of the described aspects in light of the attached drawingsand claims.

References in the specification to embodiment, aspect, example, etc.,indicate that the described item may include a particular feature,structure, or characteristic. However, every disclosed aspect may or maynot necessarily include that particular feature, structure, orcharacteristic. Moreover, such phrases are not necessarily referring tothe same aspect unless specifically noted. Further, when a particularfeature, structure, or characteristic is described regarding aparticular aspect, such feature, structure, or characteristic can beemployed in connection with another disclosed aspect whether or not suchfeature is explicitly described in conjunction with such other disclosedaspect.

The disclosed aspects may be implemented, in some cases, in hardware,firmware, software, or any combination thereof. The disclosed aspectsmay also be implemented as instructions carried by or stored on one ormore or computer-readable media, which may be read and executed by oneor more processors. Such instructions may be referred to as a computerprogram product. Computer-readable media, as discussed herein, means anymedia that can be accessed by a computing device. By way of example, andnot limitation, computer-readable media may comprise computer storagemedia and communication media.

Computer storage media means any medium that can be used to storecomputer-readable information. By way of example, and not limitation,computer storage media may include Random Access Memory (RAM), Read OnlyMemory (ROM), Electrically Erasable Programmable Read-Only Memory(EEPROM), flash memory or other memory technology, Compact Disc ReadOnly Memory (CD-ROM), Digital Video Disc (DVD), or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, and any other volatile or nonvolatile,removable or non-removable media implemented in any technology. Computerstorage media excludes signals per se and transitory forms of signaltransmission.

Communication media means any media that can be used for thecommunication of computer-readable information. By way of example, andnot limitation, communication media may include coaxial cables,fiber-optic cables, air, or any other media suitable for thecommunication of electrical, optical, Radio Frequency (RF), infrared,acoustic or other types of signals.

EXAMPLES

Illustrative examples of the technologies disclosed herein are providedbelow. An embodiment of the technologies may include any one or more,and any combination of, the examples described below.

Example 1 is a test and measurement instrument, comprising: a port toreceive a signal from a device under test; and a processor configuredto, based on a parallel trigger model: execute a first process to causefirst functionality of the test and measurement instrument to beperformed, and execute a second process to cause second functionality ofthe test and measurement instrument to be performed on the signal, thesecond process commencing prior to a completion of the first process.

Example 2 includes the test and measurement instrument of Example 1,wherein the test and measurement instrument is a data acquisition unitincluding a plurality of channels, and the first process causes the dataacquisition unit to switch between the plurality of channels, and thesecond process causes the data acquisition unit to measurecharacteristics of the signal.

Example 3 includes the test and measurement instrument of Example 1,wherein the test and measurement instrument is a source measure unit,and the first process causes the source measure unit to switch between aplurality of sources that are to be applied to the device under test,and the second process causes the source measure unit to measurecharacteristics of the signal.

Example 4 includes the test and measurement instrument of Example 1,wherein the first process causes the test and measurement instrument toperform a first type of measurement and the second process causes thetest and measurement instrument to perform a second type of measurement.

Example 5 includes the test and measurement instrument of any one ofExamples 1 to 4, wherein the processor is further configured to generatean error message in response to detecting that the parallel triggermodel includes an overlap between the first process and the secondprocess.

Example 6 includes the test and measurement instrument of any one ofExamples 1 to 5, wherein to execute the first process and the secondprocess, the processor is further configured, based on the paralleltrigger model, to: contemporaneously configure an initial configurationfor a first type of operation that is included in the first process andan initial configuration for the second type of operation that isincluded in the second process; execute the first type of operation inaccordance with the initial configuration of the first type ofoperation; and execute the second type of operation in accordance withthe initial configuration of the second type of operation.

Example 7 includes the test and measurement instrument of Example 6,wherein to execute the second type of operation is in response tocompletion of the first type of operation.

Example 8 includes the test and measurement instrument of Example 7,wherein the processor is further configured, based on the paralleltrigger model, to: configure a next configuration of the first type ofoperation during the execution of the second type of operation inaccordance with the initial configuration; and in response to completionof the second type of operation, perform the first type of operation inaccordance with the next configuration.

Example 9 includes the test and measurement instrument of any one ofExamples 1 to 8, wherein the parallel trigger model defines a firstsequence of procedures associated with the first process and a secondsequence of procedures associated with the second process.

Example 10 includes the test and measurement instrument of any one ofExamples 1 to 9, wherein the parallel trigger model causes the processorto execute the first process and the second process independently of oneanother.

Example 11 includes the test and measurement instrument of any one ofExamples 1 to 9, wherein the parallel trigger model coordinatesprocedures within the first process with procedures within the second.

Example 12 is a method for performing first and second functionality ofa test and measurement instrument, the method comprising: receiving aparallel trigger model; receiving a signal from a device under test; andbased on the parallel trigger model, performing a first processassociated with first functionality of a test and measurement instrumentfrom a start time to an end time; and based on the parallel triggermodel, performing a second process, associated with second functionalityof the test and measurement instrument, on the signal, the secondprocess beginning prior to the end time of the first process.

Example 13 includes the method of Example 12, wherein the first processis switching circuits of the test and measurement instrument and thesecond process is measuring a characteristic of the signal.

Example 14 includes the method of any one of Examples 12 or 13, whereinthe first process and the second process are performed independently.

Example 15 includes the method of any one of Examples 12 or 13, whereinthe first process and the second process are performed with one or moredependencies.

Example 16 includes the method of any one of Examples 12, 14, or 15,wherein the first process is a first type of measurement and the secondprocess is a second type of measurement.

Example 17 is a computer readable storage medium having instructionsstored thereon that, when executed by a processor of a test andmeasurement instrument, cause the test and measurement instrument to:configure a first set of components associated with first functionalityof the test and measurement instrument to perform a first type ofoperation based on a parallel trigger model; configure, concurrentlywith the configuration of the first set of components, a second set ofcomponents associated with second functionality of the test andmeasurement instrument to perform a second type of operation based onthe parallel trigger model; and perform the first type of operation andthe second type of operation in concert based on the parallel triggermodel.

Example 18 includes the computer readable storage medium of Example 17,wherein the first type of operation is switching circuits of the testand measurement instrument and the second type of operation is measuringa characteristic of the signal.

Example 19 includes the computer readable storage medium of any one ofExamples 17 or 18, wherein the first type of operation and the secondtype of operation are configured and performed independently.

Example 20 includes the computer readable storage medium of any one ofExamples 17 or 18, wherein the first type of operation and the secondtype of operation are configured and performed dependently.

The previously described versions of the disclosed subject matter havemany advantages that were either described or would be apparent to aperson of ordinary skill. Even so, these advantages or features are notrequired in all versions of the disclosed apparatus, systems, ormethods.

Additionally, this written description makes reference to particularfeatures. It is to be understood that the disclosure in thisspecification includes all possible combinations of those particularfeatures. Where a particular feature is disclosed in the context of aparticular aspect or example, that feature can also be used, to theextent possible, in the context of other aspects and examples.

Also, when reference is made in this application to a method having twoor more defined steps or operations, the defined steps or operations canbe carried out in any order or simultaneously, unless the contextexcludes those possibilities.

Although specific examples of the invention have been illustrated anddescribed for purposes of illustration, it will be understood thatvarious modifications may be made without departing from the spirit andscope of the invention. Accordingly, the invention should not be limitedexcept as by the appended claims.

We claim:
 1. A test and measurement instrument, comprising: a port toreceive a signal from a device under test; an input configured toreceive a parallel trigger model, the parallel trigger model including aprocedure for performing a first process and a second process inparallel; and a processor configured to, based on the parallel triggermodel: detect whether the parallel trigger model includes an overlapbetween the first process and the second process, generate an errormessage in response to detecting the overlap, when the overlap is notdetected, execute the first process to cause a first functionality ofthe test and measurement instrument to be performed, and when theoverlap is not detected, execute the second process to cause a secondfunctionality of the test and measurement instrument to be performed onthe signal, the second process commencing prior to a completion of thefirst process.
 2. The test and measurement instrument of claim 1,wherein the test and measurement instrument is a data acquisition unitincluding a plurality of channels, and the first process causes the dataacquisition unit to switch between the plurality of channels, and thesecond process causes the data acquisition unit to measurecharacteristics of the signal.
 3. The test and measurement instrument ofclaim 1, wherein the test and measurement instrument is a source measureunit, and the first process causes the source measure unit to switchbetween a plurality of sources that are to be applied to the deviceunder test, and the second process causes the source measure unit tomeasure characteristics of the signal.
 4. The test and measurementinstrument of claim 1, wherein the first process causes the test andmeasurement instrument to perform a first type of measurement and thesecond process causes the test and measurement instrument to perform asecond type of measurement.
 5. The test and measurement instrument ofclaim 1, wherein to execute the first process and the second process,the processor is further configured, based on the parallel triggermodel, to: contemporaneously configure an initial configuration for afirst type of operation that is included in the first process and aninitial configuration for the second type of operation that is includedin the second process; execute the first type of operation in accordancewith the initial configuration of the first type of operation; andexecute the second type of operation in accordance with the initialconfiguration of the second type of operation.
 6. The test andmeasurement instrument of claim 5, wherein to execute the second type ofoperation is in response to completion of the first type of operation.7. The test and measurement instrument of claim 6, wherein the processoris further configured, based on the parallel trigger model, to:configure a next configuration of the first type of operation during theexecution of the second type of operation in accordance with the initialconfiguration; and in response to completion of the second type ofoperation, perform the first type of operation in accordance with thenext configuration.
 8. The test and measurement instrument of claim 1,wherein the parallel trigger model defines a first sequence ofprocedures associated with the first process and a second sequence ofprocedures associated with the second process.
 9. The test andmeasurement instrument of claim 1, wherein the parallel trigger modelcauses the processor to execute the first process and the second processindependently of one another.
 10. The test and measurement instrument ofclaim 1, wherein the parallel trigger model coordinates procedureswithin the first process with procedures within the second.
 11. A methodfor performing first and second functionality of a test and measurementinstrument, the method comprising: receiving a parallel trigger modelincluding a procedure for performing a first process and a secondprocess in parallel; detecting whether the parallel trigger modelincludes an overlap between the first process and the second process,generating an error message in response to detecting the overlap,receiving a signal from a device under test; when the overlap is notdetected, based on the parallel trigger model, performing a firstprocess associated with a first functionality, from a start time to anend time; and when the overlap is not detected, based on the paralleltrigger model, performing a second process, associated with a secondfunctionality, on the signal, the second process beginning prior to theend time of the first process.
 12. The method of claim 11, wherein thefirst process is switching circuits of the test and measurementinstrument and the second process is measuring a characteristic of thesignal.
 13. The method of claim 11, wherein the first process and thesecond process performed independently.
 14. The method of claim 11,wherein the first process and the second process are performed with oneor more dependencies.
 15. The method of claim 11, wherein the firstprocess is a first type of measurement and the second process is asecond type of measurement.
 16. A non-transitory computer readablestorage medium having instructions stored thereon that, when executed bya processor of a test and measurement instrument, cause the test andmeasurement instrument to: receive a parallel trigger model including aprocedure for performing a first type of operation and a second type ofoperation in concert; detect whether the parallel trigger model includesan overlap between the first process and the second process; generate anerror message in response to detecting the overlap; when the overlap isnot detected, configure a first set of components associated with afirst functionality of the test and measurement instrument to perform afirst type of operation based on the parallel trigger model; when theoverlap is not detected, configure, concurrently with the configurationof the first set of components, a second set of components associatedwith a second functionality of the test and measurement instrument toperform the second type of operation based on the parallel triggermodel; and perform the first type of operation and the second type ofoperation in concert based on the parallel trigger model.
 17. Thenon-transitory computer readable storage medium of claim 16, wherein thefirst type of operation is switching circuits of the test andmeasurement instrument and the second type of operation is measuring acharacteristic of the signal.
 18. The non-transitory computer readablestorage medium of claim 16, wherein the first type of operation and thesecond type of operation are configured and performed independently. 19.The non-transitory computer readable storage medium of claim 16, whereinthe first type of operation and the second type of operation areconfigured and performed dependently.